package br.com.pfc.application.controller.usuarios;

import br.com.pfc.application.controller.BaseController;
import br.com.pfc.application.dao.UsuarioDAO;
import br.com.pfc.model.Usuario;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.FlushModeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

/**
 *
 * @author mucceli
 */
@Scope(ScopeType.CONVERSATION)
@Name("usuarioAlterarAction")
public class UsuarioAlteraController extends BaseController {

    private Usuario usuario = new Usuario();
    @In
    UsuarioDAO usuarioDAO;

    @Begin(flushMode = FlushModeType.MANUAL, nested = true)
    public String setup(String login) {
        usuario = usuarioDAO.obterPorUsuario(login);
        return "altera_usuario";
    }

    @End
    public String alterar() {
        try {
            usuarioDAO.alterar(usuario);
            adicionarMensagemInformacao("Usuário Alterado com sucesso!");
            return "usuarios";
        } catch (Exception e) {
            adicionarMensagemErro("Não foi possível alterar usuário. " + e);
            return "usuarios";
        }
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
}
